package net.linku.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.linku.model.BaseDTO;

/**
    * 后台用户表
    */
@ApiModel(description="后台用户表")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "l_a_account")
public class LAAccount extends BaseDTO<LAAccount> {
    /**
     * 菜单表id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="菜单表id")
    private Long id;

    /**
     * 租户ID, 值集 0 是大众租户 1是后端集团租户
     */
    @TableField(value = "tenant_id")
    @ApiModelProperty(value="租户ID, 值集 0 是大众租户 1是后端集团租户")
    private Long tenantId;

    /**
     * 工号（账户号码）, 例如: L2406230001
     */
    @TableField(value = "account_code")
    @ApiModelProperty(value="工号（账户号码）, 例如: L2406230001")
    private String accountCode;

    /**
     * 昵称, 默认和账户昵称一致
     */
    @TableField(value = "nick_name")
    @ApiModelProperty(value="昵称, 默认和账户昵称一致")
    private String nickName;

    /**
     * 用户二进制头像id
     */
    @TableField(value = "profile_photo")
    @ApiModelProperty(value="用户二进制头像id")
    private String profilePhoto;

    /**
     * 国际电话区号, 默认：+86
     */
    @TableField(value = "international_tel_code")
    @ApiModelProperty(value="国际电话区号, 默认：+86")
    private String internationalTelCode;

    /**
     * 手机号, 一个手机号只能注册一个账户
     */
    @TableField(value = "phone")
    @ApiModelProperty(value="手机号, 一个手机号只能注册一个账户")
    private String phone;

    /**
     * 邮箱_个人
     */
    @TableField(value = "personal_email")
    @ApiModelProperty(value="邮箱_个人")
    private String personalEmail;

    /**
     * 邮箱_公司
     */
    @TableField(value = "company_email")
    @ApiModelProperty(value="邮箱_公司")
    private String companyEmail;

    /**
     * Hash后的用户密码
     */
    @TableField(value = "`password`")
    @ApiModelProperty(value="Hash后的用户密码")
    private String password;

    /**
     * 注册时间, 默认是当前日期
     */
    @TableField(value = "register_date")
    @ApiModelProperty(value="注册时间, 默认是当前日期")
    private Date registerDate;

    /**
     * 快速索引
     */
    @TableField(value = "quick_index")
    @ApiModelProperty(value="快速索引")
    private String quickIndex;

    /**
     * 是否管理员，Y:是，N:否
     */
    @TableField(value = "is_admin")
    @ApiModelProperty(value="是否管理员，Y:是，N:否")
    private String isAdmin;

    /**
     * 个人简介（账户端显示）
     */
    @TableField(value = "self_introduction")
    @ApiModelProperty(value="个人简介（账户端显示）")
    private String selfIntroduction;
}